package com.cy.store.mapper;

import com.cy.store.entity.Cart;
import com.cy.store.vo.CartVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

@Repository
public interface CartMapper {
    /**
     * 插入购物车数据
     *
     * @param cart
     * @return
     */
    Integer insert(Cart cart);

    /**
     * 更新购物车数据
     *
     * @param cid
     * @param num
     * @param modifiedUser
     * @param modifiedTime
     * @return
     */
    Integer updateNumByCid(@Param("cid") Integer cid, @Param("num") Integer num, @Param("modifiedUser") String modifiedUser, @Param("modifiedTime") Date modifiedTime);

    /**
     * 查询购物车某一商品数据
     *
     * @param uid
     * @param pid
     * @return
     */
    Cart findByUidAndPid(@Param("uid") Integer uid, @Param("pid") Integer pid);

    /**
     * 查询并显示购物车列表数据
     *
     * @param uid
     * @return
     */
    List<CartVo> findVOByUid(Integer uid);

    /**
     * 查找是否存在该数据
     *
     * @param cid
     * @return
     */
    Cart findByCid(@Param("cid") Integer cid);

    /**
     * 删除某条商品
     *
     * @param cids
     * @return
     */
    Integer deleteByCid(@Param("cids") Integer[] cids);

    /**
     * 向提交订单页面显示数据
     *
     * @param cids
     * @return
     */
    List<CartVo> findVOByCid(@Param("cids") Integer[] cids);
}
